// 指针和引用的解构
fn main() {
    let reference = &4;
    match reference {
        &vaaal => println!("got a value via destructuring:{:?}", vaaal),
    }

    match *reference {
        v => println!("got a value via dereference:{:?}", v),
    }

    let _not_a_reference = 3;
    let ref _is_a_reference = 3;

    let value = 5;
    let mut mut_value = 6;

    match value {
        ref r => println!("Got a reference to a value:{:?}", r),
    }
    match mut_value {
        ref mut m => {
            *m += 10;
            println!("We added 10. `mut_value`: {:?}", m);
        }
    }
}
